package portal.manager.data;

import static org.bsc.bean.BeanManagerUtils.EMPTY_PROPERTYDESCRIPTOR;
import static org.bsc.bean.BeanManagerUtils.joinProperties;

import java.beans.BeanDescriptor;
import java.beans.PropertyDescriptor;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.bsc.bean.BeanDescriptorEntity;
import org.bsc.bean.PropertyDescriptorField;

/**
 * 
 * @author Sorrentino
 *
 */
public class PageBeanInfo extends TemplateBeanInfo {

	public PageBeanInfo() {
		super( Page.class );
	}

	protected PageBeanInfo(Class<? extends Template> beanClass) {
		super(beanClass);
	}

	@Override
	public BeanDescriptor getBeanDescriptor() {
		return new BeanDescriptorEntity( getBeanClass(), "PAGE" );
	}

	@Override
	public PropertyDescriptor[] getPropertyDescriptors() {
		try {
			return  joinProperties( super.getPropertyDescriptors(), 
					new PropertyDescriptorField( "title", getBeanClass(), "getTitle", "setTitle")
						.setSize(255) );

		} catch (Exception e) {
			Logger.global.log(Level.WARNING, "Page.getPropertyDescriptor() error", e);
		}
		
		return EMPTY_PROPERTYDESCRIPTOR;
	}

	
	
}
